Point cloud denoising method based on deep learning for aircraft part

ABSTRACT

The present disclosure provides a point cloud denoising method based on deep learning for an aircraft part, in which different degrees of Gaussian noise are added based on a theoretical data model of the aircraft part, a heightmap for each point in the theoretical data model is generated, and a deep learning training set is constructed. A deep learning network is trained based on the constructed deep learning training set, to obtain a deep learning network model. A real aircraft part is scanned via a laser scanner to obtain measured point cloud data. The normal information of the measured point cloud is predicted based on the trained deep learning network model. Based on the predicted normal information, a position of each point in the measured point cloud data is further updated, thereby completing denoising of the measured point cloud data.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of priority from Chinese Patent Application No. 202010299670.3, filed on Apr. 16, 2020. The content of the aforementioned application, including any intervening amendments thereto, is incorporated herein by reference in its entirety.

TECHNICAL FIELD

The present application relates to aviation detection, and more particularly to a point cloud denoising method based on deep learning for an aircraft part for an aircraft part.

BACKGROUND

In recent years, with the continuous improvement of domestic aviation research projects in technical combat indicators such as flight speed, stealth, and maneuverability, aircraft itself tends to has a structure with integration, light weight, compactness and precision characteristics. Aircraft structural parts with complex structures and profile features have begun to be widely adopted. The accuracy requirements of aviation structural parts are also increasing, and the requirements for assembly are gradually increasing, which makes the control and inspection of the manufacturing and processing quality of aircraft parts become particularly important. At the same time, as the operation time of aircraft increases, the wear and deformation of various parts will greatly affect the performance of the aircraft, and even threaten the safety of people's lives and property. Through the inspection of parts and components, the hidden dangers can be found in time to ensure the safety and healthy operation of the aircraft.

Currently, the aircraft parts are mainly measured by traditional measurement methods, such as manual measurement, 3D coordinate measuring machine (CMM) method, etc. Due to the complex shapes and diverse structures of aircraft parts, the traditional measurement methods often fail to meet the accuracy requirements, and possess a low efficiency, which cannot meet the measurement requirements of current aircraft parts.

Due to the advantages of real-time capability, high precision, and non-destructive testing, 3D laser scanning technology has become more and more widely adopted in the aviation field. The use of 3D laser scanning technology to measure and analyze aircraft parts is a trend of high-precision measurement in the aviation field. However, the acquired 3D point cloud often has certain noises owing to the factors such as measurement environment. At present, the processing of 3D point cloud noise for aircraft parts is still in its infancy, which cannot meet the high efficiency and high accuracy requirements of the aviation industry.

SUMMARY

An object of the present disclosure is to provide a point cloud denoising method based on deep learning for an aircraft part, to solve the problems that the existing technology cannot accurately and efficiently denoise the point cloud of aircraft parts.

To achieve the above-mentioned object, the present disclosure provides a point cloud denoising method based on deep learning for an aircraft part, comprising:

S1) based on a theoretical data model of the aircraft part, adding different degrees of Gaussian noise; generating a heightmap for each of points in the theoretical data model; and constructing a deep learning training set;

S2) based on the deep learning training set constructed in S1, training a deep learning network to obtain a deep learning network model;

S3) scanning a real aircraft part via a laser scanner to obtain measured point cloud data; and predicting normal information of the measured point cloud based on the deep learning network model trained in S2; and

S4) based on the normal information predicted in S3, further updating a position of each of points in the measured point cloud data, thereby completing denoising of the measured point cloud data.

In an embodiment, a process of generating the heightmap for each of points in the theoretical data model in S1 comprises:

S11) presetting a point p_(i) in point cloud data from the theoretical data model; and constructing a local neighborhood of the point by using a recurrent neural network;

S12) calculating a covariance matrix C_(pi) according to a formula (1) as:

$\begin{matrix} {{C_{pi} = {\frac{1}{\Psi }{\sum\limits_{p_{j} \in \Psi}{\left( {p_{i} - p_{j}} \right)\left( {p_{i} - p_{j}} \right)^{T}}}}};} & (1) \end{matrix}$

wherein p_(i) is the point in the point cloud data; p_(i)=(x_(i), y_(i), z_(i)); (x_(i), y_(i), z_(i)) is a coordinate of the point p_(i); p_(j) is a point in the local neighborhood; Ψ is the local neighborhood of the point p_(i); and |Ψ| is the number of points in the local neighborhood;

S13) respectively defining three eigenvalues and three eigenvectors of the covariance matrix C_(pi) as λ₁, λ₂, λ₃ and u₁ u₂, u₃, wherein λ₁≥λ₂≥λ₃, and u₃=(R, S, T);

S14) taking the vector u₃ as a normal vector of a projection plane, and constructing the projection plane P according to a formula (2) as:

R(x−x _(i))+S(y−y _(i))+T(z−z _(i))=0  (2);

wherein (x, y, z) is a coordinate of a point on the projection plane P; and (x_(i), y_(i), z_(i)) is the coordinate of the point p_(i); and

S15) based on the projection plane P constructed in S14, all points in the local neighborhood are projected to the projection plane P along the vector u₃ to obtain a heightmap of the point p_(i).

In an embodiment, a process of training the deep learning network to obtain the deep learning network model comprises:

S21) selecting ResNet18 as a deep learning network, and constructing a loss function for the deep learning network as:

$\begin{matrix} {{{Loss} = {\sum\limits_{p_{i} \in Q}{{n_{pi} - {\overset{\Cup}{n}}_{pi}}}^{2}}};} & (3) \end{matrix}$

wherein p_(i) is a point in the point cloud data; Q is a point set comprising all points in the deep learning training set; n_(pi) is a normal of the point p_(i) predicted by the deep learning network; and ňpi is a theoretical normal of the point p_(i); and

S22) inputting the heightmap generated in S1 into the ResNet18 network; updating a weight of the ResNet18 network using a stochastic gradient descent method and a backpropagation algorithm; stopping training until a network loss value area converges, thereby obtaining the deep learning network model.

In an embodiment, in S22, an initial learning rate is 0.001, and a preset maximum number of iterative training is 200.

In an embodiment, S3 further comprises:

S31) presetting a point p_(m) in the measured point cloud data, and constructing a local neighborhood of the point by using a recurrent neural network;

S32) calculating a covariance matrix C_(pm) according to a formula (4) as:

$\begin{matrix} {{C_{pm} = {\frac{1}{\Gamma }{\sum\limits_{p_{n} \in \Gamma}{\left( {p_{m} - p_{n}} \right)\left( {p_{m} - p_{n}} \right)^{T}}}}};} & (4) \end{matrix}$

wherein p_(m) is the point in the measured point cloud data; p_(n) is a point in the local neighborhood; Γ is a local neighborhood of p_(m); and |Γ| is the number of points in the local neighborhood;

S33) defining three eigenvalues and three eigenvectors of the covariance matrix C_(pm) as λ′₁, λ′₂, λ′₃ and u′₁, u′₂, u′₃, respectively, wherein λ′₁≥λ′₂≥λ′₃, and u′₃=(R′, S′, T′);

S34) taking the vector u′₃ as a normal vector of a projection plane, and constructing the projection plane P′ according to a formula (2) as:

R′(x′−x′ _(i))+S′(y′−y′ _(i))+T′(z′−z′ _(i))=0  (5);

wherein (x′, y′, z′) is a coordinate of a point on the projection plane P′; and (x_(i), y_(i), z_(i)) is a coordinate of p_(i);

S35) based on the projection plane P′ constructed in S34, projecting all points in the local neighborhood to the projection plane P′ along the vector u′₃ to obtain a heightmap of p_(m); and

S36) inputting the heightmap generated in S35 into the deep learning network model obtained in S2, to obtain a normal vector of the point p_(m).

In an embodiment, the position of each of the points in the measured point cloud data is updated according to a formula (6) as:

$\begin{matrix} {{{\overset{\sim}{P}}_{m} = {p_{m} + {\alpha_{m}{\sum\limits_{p_{n} \in \Gamma}{\left( {p_{m} - p_{n}} \right)\left( {{{n_{n}}^{T}n_{n}} + {{n_{m}}^{T}n_{m}}} \right)}}}}};} & (6) \end{matrix}$

wherein p_(m) is a point in the measured point cloud data; is a point in the local neighborhood; α_(m) is a weight parameter; Γ is a local neighborhood of p_(m); n_(n) is a normal vector of p_(n); and n_(m) is a normal vector of p_(m).

Compared to the prior art, the present invention has the following beneficial effects.

The point cloud denoising method based on deep learning for an aircraft part provided in the present invention can accurately complete the denoising of the measured point cloud data of the aircraft parts, while maintaining the structural characteristics of the aircraft parts, to solve the problems of low accuracy and low efficiency in traditional measurement methods, thereby ensuring efficiency and accuracy in subsequent detection and analysis of the aircraft part structure.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a flowchart of a point cloud denoising method based on deep learning for an aircraft part according to an embodiment of the present disclosure.

FIG. 2 is a diagram showing original measured data of the aircraft part according to an embodiment of the present disclosure.

FIG. 3 shows a heightmap of a point cloud of the aircraft part according to an embodiment of the present disclosure.

FIG. 4 shows a result of denoising the point cloud of the aircraft part according to an embodiment of the present disclosure.

FIG. 5 shows a normal estimation result for the point cloud according to an embodiment of the present disclosure.

DETAILED DESCRIPTION OF EMBODIMENTS

The present disclosure will be further described below with reference to the accompanying drawings and embodiments.

Referring to FIG. 1, the point cloud denoising method based on deep learning for an aircraft part provided in the embodiment can be directly applied to scanning data processing devices in various aircraft parts, and the method can be realized by writing a corresponding program in a controller of the scanning data processing device in the specific implementation. FIG. 2 shows a scanning device of the aircraft part and the acquired 3D point cloud data. The acquired 3D point cloud data has problems such as noise interference, which has a great impact on the detection and analysis of the aircraft part. Therefore, the embodiment provides a point cloud denoising method based on deep learning for an aircraft part, including the following steps.

S1) Based on a theoretical data model of the aircraft part, different degrees of Gaussian noise are added. A heightmap for each point in the theoretical data model is generated. And a deep learning training set is constructed. In the embodiment, the step that the heightmap for each point in the theoretical data model is generated includes the following steps.

S11) A point p_(i) in the point cloud data is given from the theoretical data model. And a local neighborhood of the point is constructed by using a recurrent neural network. Preferably, the neighborhood radius is specifically 5 times the length of an average distance of the point cloud model.

S12) A covariance matrix C_(P), is calculated according to a formula (13) as follows:

$\begin{matrix} {{C_{pi} = {\frac{1}{\Psi }{\sum\limits_{p_{j} \in \Psi}{\left( {p_{i} - p_{j}} \right)\left( {p_{i} - p_{j}} \right)^{T}}}}};} & (13) \end{matrix}$

where p_(i) is the point in the point cloud data; p_(i)=(x_(i), y_(i), z_(i)), (x_(i), y_(i), z₁) is a coordinate of p_(i); p_(i) is a point in the local neighborhood; Ψ is a local neighborhood of p_(i); and |Ψ| is the number of points in the local neighborhood;

S13) Three eigenvalues and three eigenvectors of the covariance matrix C_(pi) are respectively defined as λ₁, λ₂, λ₃ and u₁, u₂, u₃, where λ₁≥λ₂≥λ₃, and u₃=(R, S, T).

S14) The vector u₃ is taken as a normal vector of a projection plane, and the projection plane P is constructed according to a formula (14) as:

R(x−x _(i))+S(y−y _(i))+T(z−z _(i))=0  (14);

where (x, y, z) is a coordinate of a point on the projection plane P; and (x_(i), y_(i), z_(i)) is the coordinate of p_(i).

S15) Based on the constructed projection plane P, all points in the local neighborhood are projected to the projection plane P along the vector u₃ to obtain a heightmap of p_(i), in which a resolution thereof is set to 48×48, as shown in FIG. 3.

S2) Based on the deep learning training set constructed in S1, a deep learning network is trained to obtain a deep learning network model. In the embodiment, ResNet18 is selected as the deep learning network, and a loss function for the deep learning network is constructed as follows:

$\begin{matrix} {{{Loss} = {\sum\limits_{p_{i} \in Q}{{n_{pi} - {\overset{\Cup}{n}}_{pi}}}^{2}}};} & (15) \end{matrix}$

where p_(i) is a point in the point cloud data; Q is a point set including all points in the deep learning training set; n_(pi) is a normal of the point p_(i) predicted by the deep learning network; and ň_(pi), is a theoretical normal of the point p_(i).

S22) The heightmap generated in S1 is inputted into the ResNet18 network. A weight of the ResNet18 network is updated using a stochastic gradient descent method and a backpropagation algorithm, in which an initial learning rate is 0.001, and a preset maximum number of iterative training is 200. The training is stopped until a network loss value area converges, thereby obtaining the deep learning network model.

S3) A real aircraft part is scanned via a laser scanner to obtain measured point cloud data. The normal information of the measured point cloud is predicted based on the deep learning network model trained in S2.

S31) A point p_(m) in the measured point cloud data is given, and a local neighborhood of the point is constructed by using a recurrent neural network. Specifically, the neighborhood radius is 3 times the length of an average distance of the point cloud model.

S32) A covariance matrix C_(pm) is calculated according to a formula (16) as follows:

$\begin{matrix} {{C_{pm} = {\frac{1}{\Gamma }{\sum\limits_{p_{n} \in \Gamma}{\left( {p_{m} - p_{n}} \right)\left( {p_{m} - p_{n}} \right)^{T}}}}};} & (16) \end{matrix}$

where p_(m) is the point in the measured point cloud data; p_(n) is a point in the local neighborhood; Γ is a local neighborhood of p_(m); and |Γ| is the number of points in the local neighborhood.

S33) Three eigenvalues and three eigenvectors of the covariance matrix C_(pm) are defined as λ′₁, λ′₂, λ′₃ and u′₁, u′₂, u′₃, respectively, where λ′₁≥λ′₂≥λ′₃ and u′₃=(R′, S′, T′).

S34) The vector u′₃ is taken as a normal vector of a projection plane, and the projection plane P′ is constructed according to a formula (17) as follows:

R′(x′−x′ _(i))+S′(y′-y′ _(i))+T′(z′−z′ _(i))=0  (17);

where (x′, y′, z′) is a coordinate of a point on the projection plane P′; and (x_(i), y_(i), z_(i)) is a coordinate of p_(i).

S35) Based on the constructed projection plane P′, all points in the local neighborhood are projected to the projection plane P′ along the vector u′₃ to obtain a heightmap of p_(m).

S36) The heightmap generated in S35 is inputted into the deep learning network model obtained in S2 to obtain a normal vector of the point p_(m).

S4) Based on the normal information predicted in S3, a position of each point in the measured point cloud data is further updated. The point update function is designed to obtain the updated point cloud, i.e., the point cloud model after denoising, thereby completing denoising of the measured point cloud data. Specifically, the position of each point in the measured point cloud data is updated according to a formula (18) as follows:

$\begin{matrix} {{{\overset{\sim}{P}}_{m} = {p_{m} + {\alpha_{m}{\sum\limits_{p_{n} \in \Gamma}{\left( {p_{m} - p_{n}} \right)\left( {{{n_{n}}^{T}n_{n}} + {{n_{m}}^{T}n_{m}}} \right)}}}}};} & (18) \end{matrix}$

where p_(m) is a point in the measured point cloud data; p_(n) is a point in the local neighborhood; α_(m) is a weight parameter, which controls a step length of the point update, and its specific value is

$\frac{1}{3{\Gamma }};$

Γ is a local neighborhood of the point p_(m); n_(n) is a normal vector of the point p_(n); and n_(m) is a normal vector of the point p_(m).

FIGS. 4-5 respectively show a point cloud model after the point update (i.e., a model after denoising) and a normal estimated by deep learning. Compared to FIG. 2, it can be seen that the noise problem of the point cloud data has been solved, while the features such as the component structure have not changed. Therefore, the method provided in the present disclosure can accurately complete a denoising processing of the measured point cloud data of the aircraft part, while retaining structural characteristics of the aircraft part, so that the problems of low accuracy and low efficiency in traditional detection methods are effectively solved, thereby ensuring efficiency and accuracy of subsequent detection and analysis for the structure of the aircraft part.

Described above is only a preferred embodiment of the present disclosure. It should be pointed out that, any modification and improvement made by those skilled in the art without departing from the spirit of the present disclosure shall fall within the scope of the appended claims. 

What is claimed is:
 1. A point cloud denoising method based on deep learning for an aircraft part, comprising: S1) based on a theoretical data model of the aircraft part, adding different degrees of Gaussian noise; generating a heightmap for each of points in the theoretical data model; and constructing a deep learning training set; S2) based on the deep learning training set constructed in S1, training a deep learning network to obtain a deep learning network model; S3) scanning a real aircraft part via a laser scanner to obtain measured point cloud data; and predicting normal information of the measured point cloud based on the deep learning network model trained in S2; and S4) based on the normal information predicted in S3, further updating a position of each of points in the measured point cloud data, thereby completing denoising of the measured point cloud data.
 2. The point cloud denoising method of claim 1, wherein a process of generating the heightmap for each of points in the theoretical data model in S1 comprises: S11) presetting a point p_(i) in point cloud data from the theoretical data model; and constructing a local neighborhood of the point by using a recurrent neural network; S12) calculating a covariance matrix C_(pi), according to a formula (1) as: $\begin{matrix} {{C_{pi} = {\frac{1}{\Psi }{\sum\limits_{p_{j} \in \Psi}{\left( {p_{i} - p_{j}} \right)\left( {p_{i} - p_{j}} \right)^{T}}}}};} & (1) \end{matrix}$ wherein p_(i) is the point in the point cloud data; p_(i)=(x_(i), y_(i), z_(i)); (x_(i), y_(i), z_(i)) is a coordinate of the point p_(i); p_(j) is a point in the local neighborhood; Ψ is the local neighborhood of the point p_(i); and |Ψ| is the number of points in the local neighborhood; S13) defining three eigenvalues and three eigenvectors of the covariance matrix C_(pi) as λ₁, λ₂, λ₃ and u₁, u₂, u₃, respectively, wherein λ₁≥λ₂≥λ₃, and u₃=(R, S, T); S14) taking the vector u₃ as a normal vector of a projection plane, and constructing the projection plane P according to a formula (2) as: R(x−x _(i))+S(y−y _(i))+T(z−z _(i))=0  (2); wherein (x, y, z) is a coordinate of a point on the projection plane P; and (x_(i), y_(i), z_(i)) is the coordinate of the point p_(i); and S15) based on the projection plane P constructed in S14, all points in the local neighborhood are projected to the projection plane P along the vector u₃ to obtain a heightmap of the point p_(i).
 3. The point cloud denoising method of claim 1, wherein a process of training the deep learning network to obtain the deep learning network model comprises: S21) selecting ResNet18 as a deep learning network, and constructing a loss function for the deep learning network as: $\begin{matrix} {{{Loss} = {\sum\limits_{p_{i} \in Q}{{n_{pi} - {\overset{\Cup}{n}}_{pi}}}^{2}}};} & (3) \end{matrix}$ wherein p_(i) is a point in the point cloud data; Q is a point set comprising all points in the deep learning training set; n_(pi) is a normal of the point p_(i) predicted by the deep learning network; and ň_(pi) is a theoretical normal of the point p_(i); and S22) inputting the heightmap generated in S1 into the ResNet18 network; updating a weight of the ResNet18 network using a stochastic gradient descent method and a backpropagation algorithm; stopping training until a network loss value area converges, thereby obtaining the deep learning network model.
 4. The point cloud denoising method of claim 3, wherein in S22, an initial learning rate is 0.001, and a preset maximum number of iterative training is
 200. 5. The point cloud denoising method of claim 1, wherein S3 further comprises: S31) presetting a point p_(m) in the measured point cloud data, and constructing a local neighborhood of the point by using a recurrent neural network; S32) calculating a covariance matrix C_(pm) according to a formula (4) as: $\begin{matrix} {{C_{pm} = {\frac{1}{\Gamma }{\sum\limits_{p_{n} \in \Gamma}{\left( {p_{m} - p_{n}} \right)\left( {p_{m} - p_{n}} \right)^{T}}}}};} & (4) \end{matrix}$ wherein p_(m) is the point in the measured point cloud data; p_(n) is a point in the local neighborhood; Γ is a local neighborhood of p_(m); and |Γ| is the number of points in the local neighborhood; S33) respectively defining three eigenvalues and three eigenvectors of the covariance matrix C_(pm) as λ′₁, λ′₂, λ′₃ and u′₁, u′₂, u₃, wherein λ′₁≥λ′₂≥λ′₃, and u′₃=(R′, S′, T′); S34) taking the vector u′₃ as a normal vector of a projection plane, and constructing the projection plane P′ according to a formula (2) as: R′(x′−x′ _(i))+S′(y′−y′ _(i))+T′(z′−z′ _(i))=0  (5); wherein (x′, y′, z′) is a coordinate of a point on the projection plane P′; and (x_(i), y_(i), z_(i)) is a coordinate of p_(i); S35) based on the projection plane P′ constructed in S34, projecting all points in the local neighborhood to the projection plane P′ along the vector u′₃ to obtain a heightmap of p_(m); and S36) inputting the heightmap generated in S35 into the deep learning network model obtained in S2, to obtain a normal vector of the point p_(m).
 6. The point cloud denoising method of claim 1, wherein the position of each of the points in the measured point cloud data is updated according to a formula (6) as: $\begin{matrix} {{{\overset{\sim}{P}}_{m} = {p_{m} + {\alpha_{m}{\sum\limits_{p_{n} \in \Gamma}{\left( {p_{m} - p_{n}} \right)\left( {{{n_{n}}^{T}n_{n}} + {{n_{m}}^{T}n_{m}}} \right)}}}}};} & (6) \end{matrix}$ wherein p_(m) is a point in the measured point cloud data; p_(n) is a point in the local neighborhood; α_(m) is a weight parameter; Γ is a local neighborhood of p_(m); n_(n) is a normal vector of p_(n); and n_(m) is a normal vector of p_(m). 